#ifndef __TOOLS_H
#define __TOOLS_H

#include "config.h"

void delay_us(uint32_t us);
void delay_ms(uint32_t ms);
void delay_s(uint32_t s);

/**
 * @brief 比较两个字符串
 * @return true 代表相同，false 代表不同
 */
extern bool strcmp_b(const char *str1, const char *str2);

/**
 * @brief 将字符串 1 复制到字符串 2 指定的空间中
 */
extern void strcpy_b(char *dest, const char *src, uint16_t size);

/**
 * @brief 获取字符串长度
 */
extern uint16_t strlen_b(const char *str);

/**
 * @brief 格式化打印字符到 dest。支持的格式：
 * %f：32bit 浮点数，默认为小数点后两位保留
 *      %.1f
 *      %.2f
 *      %.3f
 * %d：32bit 正负整数
 * %u: 32bit 正整数
 *      %2d / %2u 保留时间格式的 0
 * %s：字符串
 * %c：一个字符
 */
extern void sprintf_b(char *dest, const char *format, ...);

#endif
